home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / tool / artemis2 / src / fifo.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-05-13  |  974 b   |  45 lines

  1. #ifndef HEADER_FIFO
  2. #define HEADER_FIFO
  3.  
  4. typedef struct {
  5.     char    *data;
  6.     int        datanum;
  7.     int        datasize;
  8. } FIFO;
  9.  
  10. FIFO    *fifo_new(int data_size);
  11. void    fifo_destroy(FIFO *fifo);
  12. int        fifo_set(FIFO *fifo, void *data);
  13. int        fifo_get(FIFO *fifo, void *data);
  14. int        fifo_isEmpty(FIFO *fifo);
  15.  
  16. typedef struct tagLISTE {
  17.     struct tagLISTE    *prev, *next;
  18. } LISTE;
  19.  
  20. typedef struct tagLIST {
  21.     int                datanum;
  22.     int                datasize;
  23.     int                pos;
  24.     LISTE            *cur;
  25.     LISTE            *outdata;
  26. } LIST;
  27.  
  28. LIST    *list_new(int size);
  29. void    list_destroy(LIST *list);
  30.  
  31. void    list_top(LIST *list);
  32. void    list_next(LIST *list);
  33. void    list_prev(LIST *list);
  34. void    list_moveTo(LIST *list, int index);
  35. int        list_getData(LIST *list, void *data);
  36. int        list_setData(LIST *list, void *data);
  37. int        list_insertData(LIST *list, void *data);
  38. int        list_deleteData(LIST *list);
  39.  
  40. int        list_isOut(LIST *list);
  41. int        list_getDataNum(LIST *list);
  42. int        list_isEmpty(LIST *list);
  43.  
  44. #endif  HEADER_FIFO
  45.